/**
 * User: jacek
 * Date: 2008-06-07
 * Time: 17:27:03
 */
package elka.isi.individual;

import org.evolvica.core.eval.FloatScore;

public class RoeIndividual extends HerbivoreAnimalIndivdual {

    public static final double HARVESTING_RATE = 1.10;
    public static final double HUNTING_RATE = 2.0;
    public static final double APPETITE_SCORE = 5.5;
    public static final double REPRODUCTION_SCORE = 1.5;
	public static final double SIZETOFOOD_SCORE = 5.0;


    /* (non-Javadoc)
	 * @see elka.isi.individual.AnimalIndividual#getSpecies()
	 */
    public Class getSpecies_OLD() {
        return RoeIndividual.class;
    }

	public void evaluate(int rabbitsInPopulation, int roesInPopulation, int wolvesInPopulation ) {

        harvestingScore = HARVESTING_RATE * countHarvestingScore();
        huntingScore = HUNTING_RATE * countHuntingScore();
        appetiteScore = APPETITE_SCORE * countAppetiteScore();
        reproductionScore = REPRODUCTION_SCORE * countReproductionScore();
		nutritionalScore = SIZETOFOOD_SCORE * countSizeToFoodScore();

        setScore(new FloatScore((float) harvestingScore + (float) huntingScore - (float) appetiteScore));
    }

	public int getSpecies() {
		return ROE;
	}
}